The present invention relates to operating system commands, and in particular to adapting to multiple versions of operating system commands.
When a decision is made by a computer manufacturer to switch to a new operating system to take advantage of better hardware, better usability, new standards, etc., it is crucial that customers using the old operating system be able to run their application programs on the new operating system. This protects the customer's investment in their application software.
One way to solve this software compatibility problem is to use conversion programs, which take the source code of the customer application program, and convert it to run with the new operating system commands. A limitation of this method is that the source language statements have been lost, or do not exist for some applications. In addition, the conversion of source is often a lengthy process that slows the implementation of existing applications on a new system.
A further solution has been the implementation of multiple system environments by the computer maker. Existing interfaces (system commands available to a user) are maintained by keeping both the previous and new versions of operating system programs that perform a similar function. This method requires a user to select the environment that an application will use, as well as requiring the maintenance and storage of two or more sets of operating system programs. The user also can not integrate new function provided by the new operating system program into an existing application program without converting the entire application program to use the new operating system.
One example of the multiple system environment solution is found in U.S. Pat. No 4,691,278 to Iwata, in which multiple system architectural modes are provided. A register contains a mode selector value. One instruction of a program will invoke a series of microinstructions which may be different for different modes. The starting address of microinstructions may vary for the same instruction depending on the mode selected for the program. Different sets of microinstructions must be maintained in this method.